Skip to content

chore(docker): add Finch build helper script#39451

Closed
claytonblythe wants to merge 1 commit into
microsoft:mainfrom
claytonblythe:chore/docker-finch-build-helper
Closed

chore(docker): add Finch build helper script#39451
claytonblythe wants to merge 1 commit into
microsoft:mainfrom
claytonblythe:chore/docker-finch-build-helper

Conversation

@claytonblythe
Copy link
Copy Markdown

@claytonblythe claytonblythe commented Feb 27, 2026

Summary

Add utils/docker/build_finch.sh as a Finch equivalent of utils/docker/build.sh for local contributor workflows.

This script mirrors the existing Docker helper:

  • same arguments: {--arm64,--amd64} {jammy,noble} <tag>
  • same packaging step (pack_package.js -> playwright-core.tar.gz)
  • same Dockerfiles (utils/docker/Dockerfile.jammy|noble)
  • only runtime invocation differs (finch build vs docker build)

Why

Some contributor environments use Finch instead of Docker CLI.
This helper provides a minimal, explicit path to build the same local Playwright image with Finch.

Scope / Non-goals

  • No change to published image pipeline
  • No CI changes
  • No user-facing docs changes
  • No new dependencies

Validation (macOS arm64, Finch v1.15.1)

1) Script usage/help

$ ./utils/docker/build_finch.sh -h
usage: build_finch.sh {--arm64,--amd64} {jammy,noble} playwright:localbuild-noble
...

2) Noble build + runtime + Playwright docker marker

$ ./utils/docker/build_finch.sh --arm64 noble playwright:localbuild-noble
/Users/.../utils/docker/playwright-core.tar.gz
...
#9 naming to docker.io/library/playwright:localbuild-noble done
#9 unpacking to docker.io/library/playwright:localbuild-noble done
#9 DONE 0.0s

$ finch run --rm playwright:localbuild-noble /bin/bash -lc 'node -v && npm -v && cat /etc/os-release | head -n 2 && cat /ms-playwright/.docker-info'
v24.14.0
11.9.0
PRETTY_NAME="Ubuntu 24.04.4 LTS"
NAME="Ubuntu"
{
  "driverVersion": "1.59.0-next",
  "dockerImageName": "mcr.microsoft.com/playwright:v1.59.0-next-noble"
}

3) Jammy build + runtime + Playwright docker marker

$ ./utils/docker/build_finch.sh --arm64 jammy playwright:localbuild-jammy
/Users/.../utils/docker/playwright-core.tar.gz
...
#9 naming to docker.io/library/playwright:localbuild-jammy done
#9 unpacking to docker.io/library/playwright:localbuild-jammy done
#9 DONE 0.0s

$ finch run --rm playwright:localbuild-jammy /bin/bash -lc 'node -v && npm -v && cat /etc/os-release | head -n 2 && cat /ms-playwright/.docker-info'
v24.14.0
11.9.0
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
{
  "driverVersion": "1.59.0-next",
  "dockerImageName": "mcr.microsoft.com/playwright:v1.59.0-next-jammy"
}

@claytonblythe claytonblythe force-pushed the chore/docker-finch-build-helper branch from 8f98d89 to cb5a1da Compare February 27, 2026 08:02
@claytonblythe
Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

@claytonblythe claytonblythe marked this pull request as ready for review February 27, 2026 08:31
@yury-s
Copy link
Copy Markdown
Member

yury-s commented Feb 27, 2026

This can live somewhere outside of this repository. We have build.sh only because it is used by our automation and we don't have one for Finch.

@yury-s yury-s closed this Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants